/**
 * @author 20111011 by hzx
 * @class EditUserInfoSmsPanelForm
 * @extends Ext.form.FormPanel
 * @description 用户信息修改表单
 */
EditUserInfoSmsPanelForm = Ext.extend(Ext.form.FormPanel, {
	myid : "myid",
	cur_user_type : "user_type",
	cur_check_flag:"check_flag" , 
	cur_fee_type:"fee_type" , 
	cur_record_flag:"record_flag",
	cur_recv_flag:"recv_flag",
///
		cur_userId      :"_userId",
		cur_userName    :"_userName",
		cur_userType    :"_userType",
		cur_userTypeStr :"_userTypeStr",
		cur_parentId    :"_parentId",
		cur_sex         :"_sex",
		cur_sexStr      :"_sexStr",
		cur_telephone   :"_telephone",
		cur_email       :"_email",
		cur_address     :"_address",
		cur_status      :"_status",
		cur_statusStr   :"_statusStr",
		cur_balance     :"_balance",
		cur_price       :"_price",
		cur_smscount    :"_smscount",
		cur_routeId     :"_routeId",
		cur_routeIdStr  :"_routeIdStr",
		cur_checkFlagStr:"_checkFlagStr",
		cur_checkFlag   :"_checkFlag",
		cur_feetype     :"_feetype",
		cur_feetypeStr  :"_feetypeStr",
		cur_recordFlag  :"_recordFlag",
		cur_recvFlag    :"_recvFlag",
		cur_recvFlagStr :"_recvFlagStr",
		cur_remark      :"_remark",
		cur_lastLogin   :"_lastLogin",
		cur_createDate  :"_createDate",
		cur_createUserid:"_createUserid",
		cur_updateDate  :"_updateDate",
		cur_updateUserid:"_updateUserid",
		cur_discount    :"_discount",
		cur_cellphone   :"_cellphone",
		cur_discountFlag:"_discountFlag",	
		
		cur_lastLoginStr   :"_lastLoginStr",
		cur_createDateStr  :"_createDateStr",
		cur_updateDateStr  :"_updateDateStr",
		///
	
	
	myReadOnly : false, // 自定义属性是否只读
	myDisabled : false, // 自定义属性是否禁用
	comboStoreSex : null, // 下拉列表框数据源(性别)
	// 构造方法
	constructor : function(_config) {
		if (_config == null) {
			_config = {};
		}
		Ext.apply(this, _config);
		// 照片上传窗体	
		// this.upLoadFileWin = new UpLoadFileWindow();
		
		// 下拉列表框数据源(性别)
		this.comboStoreSex = new Ext.data.JsonStore({
					url : "dataDict.do",
					baseParams : {
						"operator" : "showDataDictByKey",
						"sekey" : "sex"
					},
					fields : ["datakey", "value","remark"],
					autoLoad : true
				});
		
		// 拷贝父类的构造方法到当前对象
		EditUserInfoSmsPanelForm.superclass.constructor.call(this, {
			id : this.myid,
			border : false, // 不要边框
			fileUpload : true, // 允许上传
			autoScroll : true,
			bodyStyle : "backgroundColor:#DFE8F6;",
			items : [{
				xtype : "panel",
				frame : true,
				border : false,
				align:"center",
				bodyStyle : "backgroundColor:#DFE8F6;",
				items : [{
					layout : "column",
					border : false,
					items : [{
								columnWidth : .33,
								labelWidth : 60,
								layout : "form",
								defaults : {
									xtype : "textfield",
									allowBlank : false, // 不允许为空
									anchor : "80%"
								},
								items : [{
											xtype : "label",
											fieldLabel : "用户ID",
											text : this.cur_userId
										},{
											xtype : "label",
											fieldLabel : "用户类型",
											name : "uis.userTypeStr",
											columns:2,  //指定分为2列  
											text : this.cur_userTypeStr
										},{
											xtype : "label",
											fieldLabel : "短信量",
											columns:2,  //指定分为2列  
											text : this.cur_smscount
										},{
											fieldLabel : "姓名",
											name : "uis.userName",
											invalidText : "请输入小于30位的用户姓名",
											validator : function(){
												return this.getValue().length < 30 ;
											},
											value : this.cur_userName
										},{
											allowBlank : true, // 允许为空
											validator : function(){
												return this.getValue().trim() != "";
											},
											xtype : "combo", // 下拉列表框
											editable : false,
											fieldLabel : "性别",
											emptyText : "请选择性别",
											readOnly : this.myReadOnly, // 自定义属性(是否只读)
											disabled : this.myDisabled, // 自定义属性(是否禁用)
											edittable : false,
											triggerAction : "all", // 显示所有数据
											hiddenName : "uis.sexStr",
											displayField : "remark", // 要显示的值
											//valueField : "value",
											store : this.comboStoreSex,
											invalidText :"必须选择其一",
											value : this.cur_sexStr
										},{
											fieldLabel : "手机",
											name : "uis.cellphone",
											invalidText : "手机长度不对(请注意全角半角字符)",
											validator : function() {
											 	return /^1\d{10}$/gi.test(this.getValue());
											},
											value : this.cur_cellphone
										},{
											allowBlank : true, // 允许为空
											fieldLabel : "联系电话",
											name : "uis.telephone",
											value : this.cur_telephone
										},{
											allowBlank : true,
											fieldLabel : "电子邮件",
											name : "uis.email",
											invalidText : "请输入小于等于50位的电子邮件",
											validator : function(){
												return this.getValue().length <= 50 ;
											},
											value : this.cur_email
										},{
											allowBlank : true, //允许为空
											fieldLabel : "地址",
											name : "uis.address",
											value : this.cur_address
										},{
											xtype : "hidden",
											fieldLabel : "上级用户",
											text : this.cur_parentId == null || this.cur_parentId == "" ? "超级管理员" : this.cur_parentId
										},{
											xtype : "hidden",
											name : "uis.parentId",
											value : this.cur_parentId
										},{
											xtype : "hidden",
											fieldLabel : "收费方式",
											name : "uis.feetypeStr",
											text : this.cur_feetypeStr
										},{
											xtype : "hidden",
											name : "uis.feetype",
											value : this.cur_feetype
										},{
											xtype : "hidden",
											fieldLabel : "接收信息",
											name : "uis.recvFlagStr",
											text : this.cur_recvFlagStr
										},{
											xtype : "hidden",
											name : "uis.recvFlag",
											value : this.cur_recvFlag
										},{
											xtype : "hidden",
											name : "uis.discount",
											value : this.cur_discount,
											allowBlank : true // 允许为空
										},{
											xtype : "hidden",
											name : "uis.discountFlag",
											value : this.cur_discountFlag,
											allowBlank : true // 允许为空
										},{
											xtype : "hidden",
											name : "uis.userType",
											value : this.cur_userType
										}, {
											xtype : "hidden",
											fieldLabel : "审核标志",
											name : "uis.checkFlagStr",
											columns:2,  //指定分为2列  
											text : this.cur_checkFlagStr
										},{
											xtype : "hidden",
											name : "uis.checkFlag",
											value : this.cur_checkFlag
										},{
											xtype : "hidden",
											name : "uis.routeId",
											value : this.cur_routeId
										},{
											xtype : "hidden",
											name : "uis.routeIdStr",
											value : this.cur_routeIdStr
										},{
											xtype : "hidden",
											name : "uis.sex",
											value : this.cur_sex
										},{
											xtype : "hidden",
											name : "uis.recordFlag",
											value : this.cur_recordFlag
										},{
											xtype : "hidden",
											name : "uis.lastLoginStr",
											value : this.cur_lastLoginStr
										},{
											xtype : "hidden",
											name : "uis.createDateStr",
											value : this.cur_createDateStr
										},{
											xtype : "hidden",
											name : "uis.updateDateStr",
											value : this.cur_updateDateStr
										},{
											xtype : "hidden",
											name : "uis.smscont",
											value : this.cur_smscount
										},{
											xtype : "hidden",
											name : "uis.price",
											value : this.cur_price
										},{
											name : "uis.balance",
											xtype : "hidden",
											value : this.cur_balance
										},{
											name : "uis.createUserid",
											xtype : "hidden",
											value : this.cur_createUserid
										},{
											name : "uis.updateUserid",
											xtype : "hidden",
											value : this.cur_updateUserid
										},{
											name : "uis.oldMobile",
											xtype : "hidden",
											value : this.cur_cellphone
										},{
											name : "uis.status",
											xtype : "hidden",
											value : this.cur_status
										},{
											xtype : "hidden",
											name : "uis.userId",
											value : this.cur_userId
											
										},{
											allowBlank : true, // 允许为空
											xtype : "hidden",
											name : "uis.remark",
											value : this.cur_remark
										}]
							}]
					}]
			}]
		});
		
		/* this.comboStoreUt.on('load',function(store,record,opts){  
		    var combo = Ext.getCmp("combo_ut");  
	        var firstValue = store.getRange()[0].data.value;//这种方法可以获得第一项的值  
		    //firstValue  = record[0].data.value;//这种方法也可以获得第一项的值  
		    combo.setValue(firstValue);//选中  
		    //alert("value="+combo.getValue());//查看选中的value  
		    //alert("text="+combo.getRawValue());//查看选中的文本  
	    }); */
//		this.comboStoreSex.on('load',function(store,record,opts){  
//			var combo = Ext.getCmp("combo_sex");  
//			var firstValue = store.getRange()[0].data.value;//这种方法可以获得第一项的值  
//			combo.setValue(firstValue);//选中  
//		});
//		this.comboStoreLy.on('load',function(store,record,opts){  
//			var combo = Ext.getCmp("combo_ly");  
//			var firstValue = store.getRange()[0].data.value;//这种方法可以获得第一项的值  
//			combo.setValue(firstValue == null || firstValue=="" ? 1 : firstValue);//选中  
//		});
//		this.comboStoreSh.on('load',function(store,record,opts){  
//			var combo = Ext.getCmp("combo_sh");  
//			var firstValue = store.getRange()[0].data.value;//这种方法可以获得第一项的值  
//			combo.setValue(firstValue);//选中  
//		});
//		this.comboStoreSf.on('load',function(store,record,opts){  
//			var combo = Ext.getCmp("combo_sf");  
//			var firstValue = store.getRange()[0].data.value;//这种方法可以获得第一项的值  
//			combo.setValue(firstValue);//选中  
//		});
//		this.comboStoreTrue.on('load',function(store,record,opts){  
//			var combo = Ext.getCmp("combo_true");  
//			var firstValue = store.getRange()[0].data.value;//这种方法可以获得第一项的值  
//			combo.setValue(firstValue);//选中  
//		});
//		this.comboStoreRf.on('load',function(store,record,opts){  
//			var combo = Ext.getCmp("combo_rf");  
//			var firstValue = store.getRange()[0].data.value;//这种方法可以获得第一项的值  
//			combo.setValue(firstValue);//选中  
//		});
//		this.comboStoreDf.on('load',function(store,record,opts){  
//			var combo = Ext.getCmp("combo_df");  
//			var firstValue = store.getRange()[0].data.value;//这种方法可以获得第一项的值  
//			combo.setValue(firstValue);//选中  
//		});
	},
	/**
	 * 用户角色表单提交方法
	 * 
	 * @param {}
	 *            _url 提交的url
	 */
	mySubmit : function(_url) {
		this.getForm().submit({
					url : _url,
					waitTitle : "数据传输",
					waitMsg : "数据传输中,请稍等...",
					// 成功回调方法
					success : this.onSuccess,
					// 失败回调方法
					failure : this.onFailure,
					// 作用域
					scope : this

				})
	},

	/**
	 * 请求成功的回调方法
	 * 
	 * @param {}
	 *            _form
	 * @param {}
	 *            _action
	 */
	onSuccess : function(_form, _action) {
		if (_action.result.success == true) {
			// 调用当前组建的父容器的onCloseWinClick()事件
			this.ownerCt.onCloseWinClick();
			/**
			 * _urgp 是 hrmfactory.userrole.userRole.jsp
			 * 中UserRoleGridPanel类的实例
			 */
			_urgp.getStore().reload();
		}
	},

	/**
	 * 请求失败的回调方法
	 * 
	 * @param {}
	 *            _form
	 * @param {}
	 *            _action
	 */
	onFailure : function(_form, _action) {
		Ext.Msg.alert("系统消息", _action.result["errorMsg"]);
	},

	/**
	 * 获取form的值
	 * 
	 * @return {}
	 */
	getFormValues : function() {
		return new Ext.data.Record(this.getForm().getValues());
	},

	/**
	 * 给表单设置值
	 * 
	 * @param {}
	 *            _record
	 */
	setFormValues : function(_record) {
		this.getForm().loadRecord(_record);
	},

	/**
	 * 重置表单
	 */
	reset : function() {
		this.getForm().reset();
	}
});
